export interface ImageType {
  id: string
  url: string
  metadata: {
    format: string
    size: number
    dimensions: {
      width: number
      height: number
    }
  }
  annotations?: AnnotationType[]
}

export interface ClassificationData {
  label: string
  confidence: number
}

export interface FaceData {
  boundingBox: {
    x: number
    y: number
    width: number
    height: number
  }
  landmarks?: Record<string, { x: number, y: number }>
}

export interface PersonData {
  boundingBox: {
    x: number
    y: number
    width: number
    height: number
  }
  pose?: string
}

export interface ObjectData {
  label: string
  boundingBox: {
    x: number
    y: number
    width: number
    height: number
  }
  confidence: number
}

export interface AnnotationType {
  type: 'classification' | 'face' | 'person' | 'object'
  data: ClassificationData | FaceData | PersonData | ObjectData
  timestamp: number
} 